﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace Controller
{
    public class DBFacade
    {
        // her opretter vi forbindelse til databasen
        const string _conString = @"Data Source=msdb3.surftown.dk;Initial Catalog=mitoden_dbgr20;User ID=mitoden_dbgr20;Password=dmgruppebjbu";
        SqlConnection con = new SqlConnection(_conString);

        public DBFacade()
        {

        }


        public string GetAllParti()
        {
            try
            {
                string str = "";
                con.Open();
                SqlCommand cmd = con.CreateCommand();

                // i cmd.CommandText har vi skrevet en direkte SQL kommando, normalt ville underviserne
                // råde jer til at lave det som en stored procedure, men da vores program hovedsageligt
                // skal fungere hurtigt er det hastighedsmæssigt en smule hurtigere med direkte sql.
                cmd.CommandText = "SELECT * FROM Parti";
                SqlDataReader reader = cmd.ExecuteReader(); // læser data som bliver trukket ud af DB
                while (reader.Read()) // så længe reader læser linjer skal den skrive mere på str
                {
                    str += reader["pBogstav"].ToString() + " : " + reader["pNavn"].ToString() + " . \r\n";
                }
                return str;
            }
            catch (SqlException e)
            {
                throw e;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                    con.Close();
            }
        }

        // Den følgende metode ligger nu i en webservice i stedet.
        //public bool UpdateModelFromDB(int id)
        //{
        //    try
        //    {
        //        int afstemningssted = 0;
        //        con.Open();
        //        SqlCommand cmd = con.CreateCommand();
        //        cmd.CommandText = "SELECT seValgSted FROM SenestOpdateretValgsted WHERE seId=@id";
        //        cmd.Parameters.Add(new SqlParameter("id", id));
        //        SqlDataReader reader = cmd.ExecuteReader();
        //        while (reader.Read()) // så længe reader læser linjer skal den skrive mere på str
        //        {
        //            if (reader["seValgSted"] != null)
        //                afstemningssted = Convert.ToInt32(reader["seValgSted"]);
        //        }
        //        if (afstemningssted != 0)
        //        {
        //            // læs valgstedsdata op indlæs dem i modellen
        //            return true;
        //        }
        //        else
        //            return false;
        //    }
        //    catch (SqlException e)
        //    {
        //        throw e;
        //    }
        //    finally
        //    {
        //        if (con.State == ConnectionState.Open)
        //            con.Close();
        //    }
        //}
    }
}